| 简短说明 | |
|---|---|
|
文件: \examples\Processing\Color\Bayer\Laroche_original_maVCL.va |
|
|
默认平台: mE5-MA-VCL |
|
|
简要说明 Bayer Demosaicing Algorithm According to Laroche |
|
根据 Laroche 等人 [Lar94] 的研究,可使用以下算法从 Bayer 模式 [Bay76] 中外推红色、绿色和蓝色像素值:
在第一步中,使用水平和垂直色度梯度外推所有绿色像素值(亮度值)
(
和
)。梯度使用以下
内核定义:
是需内插绿
值像素处的色度值(红色或蓝色)。
绿色
随后
在红色和蓝色像素位置上:
可以根据内插的亮度计算出缺失的红色和蓝色像素值 [Lar94]。 红像素上的蓝色或蓝像素上的红色:
红行中绿像素上的蓝色或蓝行中绿像素上的红色:
蓝行中绿像素上的蓝色以及红行中绿像素上的红色:
在此
是要确定的红色或蓝色色值。
红、绿、蓝像素上的红、绿、蓝色值来自 Bayer 模式输入图像。
完整算法(\examples\Processing\Color\Bayer\Laroche_original_maVCL.va)在针对 microEnable5 采集卡(marathon)的 VisualApplets 设计中实现。
其基本设计结构参见 图 245,“基本设计结构”。HierarchicalBoxes 图像 和 OutputToPC 的内容
等同于基本采集设计,例如参见 “针对 marathon 采集卡的 Camera Link 相机基本采集示例”。在 HierarchicalBox WhiteBalancing 执行与以下示例等效的白平衡:
“带白平衡的 Bayer 5x5 去马赛克” 。
在 图 246“Bayer 去马赛克处理的插值步骤 1” 更改为 图 248“HierarchicalBox BlueAndRed 的内容” 方框 BayerFilter
with detailed comments is shown: In 图 246“Bayer 去马赛克处理的插值步骤 1” 中
和
根据 方程式 8计算梯度。红色和蓝色像素上的绿色值根据 方程式 9.
在 图 247“ColourInterpolation 的内容” 中显示了 HierarchicalBox ColourInterpolation 显示如下:在 HierarchicalBox GreenOut
中,如果当前位置是红色或蓝色像素,则将插值步骤 1 的绿色值确定为输出绿色值。否则,如果当前位置是绿色像素,则输出绿色值即为来自 Bayer 模式的输入绿色值。位置确定在 WhereAmI RedOrBlue 中通过使用
Modulo、AND、NOT 和 NotEqual 运算符来完成。在 HierarchicalBox BlueAndRed 中,所有红色和蓝色值均根据输入 Bayer 模式(使用
内核)以及根据 方程式 9插值的绿色值进行插值计算。
在 图 248“HierarchicalBox BlueAndRed 的内容” 您可以查看分层盒的内容 BlueAndRed 其插值步长为 2。执行同步时,不是针对单个 Kernel,而是针对 Kernel 值的总和,以节省 FPGA 资源。最后(参见 图 247“ColourInterpolation 的内容”)通过 IF-operators RedOut 和
BlueOut 将计算出的红色和蓝色值分配给相应的像素位置,这些位置在 HierarchicalBox 中确定
WhereAmIColour (类似于 WhereAmI RedOrBlue)。
在 图 250,“使用 Laroche 等人的算法进行去马赛克处理的图像 [Lar94]” 您可以看到通过所实现的算法进行 Bayer 去马赛克处理的结果,并与原始人工彩色图像(图 249,“原始彩色图像”)以及使用 VA 标准算子(
基于双线性插值算法进行去马赛克处理的图像)进行对比
Bayer5x5 (图 251,“使用双线性
算法进行去马赛克处理的图像”)。
与
插值方法相比,您可以发现拉链效应和伪色彩伪影均有所减少。






上一页

